/**
 * @description 为富文本内容中的指定标签添加指定样式
 * @param {string} content 富文本内容
 * @param {string} tagName 标签名
 * @param {string} style 样式
 * @returns {string} 处理后的富文本内容
 */
export default function addStyleToRichTextTags(content = "", tagName = "", style = "") {
	// 正则表达式匹配所有指定标签
	const regex = new RegExp(`<${tagName}[^>]*>`, "g");
	return content.replace(regex, (match) => {
		// 如果标签上有 style 属性，将新样式添加到 style 属性值的末尾
		if (match.includes("style")) {
			// 提取旧样式
			const oldStyle = match.match(/style="([^"]+)"/)[1];
			// 新样式添加到旧样式后面
			const newStyle = `${oldStyle};${style};`;
			// 替换整个 style 属性
			return match.replace(`style="${oldStyle}"`, `style="${newStyle}"`);
		}
		// 如果没有，直接添加样式
		return `${match.slice(0, -1)} style="${style}">`;
	});
}
